博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
完成注册功能
阅读量:4330 次
发布时间:2019-06-06

本文共 3320 字,大约阅读时间需要 11 分钟。

 

 

  1. js文件: onclick函数return True时才提交表单,return False时不提交表单。
  2. html文件:
    1. <form>中设置 action和method="post"
    2. <input> 中设置 name
  3. 主py文件中:
    1. from flask import  request, redirect, url_for
    2. @app.route('/regist/', methods=['GET', 'POST’])

 

def regist():

 

   if request.method == 'GET':

 

        return render_template('regist.html')

 

   else:

 

        username = request.form.get(‘username’)#获取form中的数据

 

        判断用户名是否存在:存在报错

  不存在,存到数据库中

   redirect重定向到登录页

 

from flask import Flask,render_template,request,redirect,url_for,sessionfrom flask_sqlalchemy import SQLAlchemyimport configapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)db = SQLAlchemy(app)# 创建用户模型class User(db.Model):    __tablename__ = 'user'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    username = db.Column(db.String(20), nullable=False)    password = db.Column(db.String(20), nullable=False)#db.create_all()@app.route('/')def homepage():    return render_template("homepage.html")@app.route('/login/')def login():    return render_template("login.html")@app.route("/register/",methods=['GET','POST'])def register():    if request.method == "GET":        return render_template("register.html")    else:        username = request.form.get("username")        password = request.form.get("password")        user = User.query.filter(User.username == username).first()        if user:            return 'username existed.'        else:            user = User(username=username, password=password)            db.session.add(user)            db.session.commit()            return redirect(url_for('login'))@app.route("/question/")def question():    return render_template("question.html")if __name__ == '__main__':    app.run(debug=True)
{% extends'index.html' %} {% block title %}     注册        {% endblock %}{% block head %}    
{% endblock %}{% block main %}

欢迎注册

账号 
密码 
再输入
{% endblock %}
function fnLogin() {        var uname = document.getElementById("name")        var uError = document.getElementById("error_box")        var upassword = document.getElementById("password")        var upasswordagain = document.getElementById("passwordagain")        var isError =true;         if(uname.value.length<6 || uname.value.length >20){        uError.innerHTML="用户名应为6到20字符";        isError = false;         return;    }else if ((uname.value.charCodeAt(0)>=48) && (uname.value.charCodeAt(0)<=57)){        uError.innerHTML="第一位只能是字母";        isError = false;        return ;    } else for (var i=0 ; i
57)&&(uname.value.charCodeAt(i)<97)|| uname.value.charCodeAt(i)>122){ uError.innerHTML="用户名只能为数字或者字母"; isError = false; return; } } if(upassword.value.length<6 || upassword.value.length>12){ uError.innerHTML="密码应为6到20字符"; isError = false; return; } if (upasswordagain.value!=upassword.value ) { uError.innerHTML = "重新输入你的密码"; isError = false; return; } return isError; window.alert("注册成功")}

 

 

 

  

转载于:https://www.cnblogs.com/JaTae/p/7875253.html

你可能感兴趣的文章
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>
JS中各种跳转解析
查看>>
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>